import apiClient from './http'

// 页面组件数据关联接口封装
export default {

    /**
     * 根据页面ID获取所有组件关联数据
     * @param {number} pageId
     */
    getByPageId(pageId) {
        return apiClient.get(`/page-component-data/page/${pageId}`)
    },

    /**
     * 根据组件ID获取关联数据
     * @param {string} componentId
     */
    getByComponentId(componentId) {
        return apiClient.get(`/page-component-data/component/${componentId}`)
    },

    /**
     * 保存组件关联数据（替换式保存）
     * @param {number} pageId
     * @param {string} componentId
     * @param {Array} relations 数据结构示例：
     * [
     *   { componentType: 'commodityList', bizType: 'category', bizId: 10, sortOrder: 1 },
     *   { componentType: 'commodityList', bizType: 'commodity', bizId: 101, parentId: 10 }
     * ]
     */
    saveRelations(pageId, componentId, relations) {
        return apiClient.post(`/page-component-data/save/${pageId}/${componentId}`, relations)
    },

    /**
     * 删除指定组件的关联数据
     * @param {string} componentId
     */
    deleteByComponentId(componentId) {
        return apiClient.delete(`/page-component-data/component/${componentId}`)
    }

}
